Читать онлайн книгу "Pascal Next. Руководство программиста"

Pascal Next. Руководство программиста
Никита Борисович Культин


Книга представляет собой описание нового языка программирования Pascal Next, в основе которого лежит классический Pascal. Содержит примеры программ, демонстрирующие возможности языка программирования: операции ввода-вывода, использование циклов, работу с массивами, строками, файлами, встроенными и пользовательскими функциями. Книга адресована тем, кто интересуется программированием, знаком с основами программирования, знает с какой-либо язык программирования и имеет навык разработки компьютерных программ начального уровня. Также она будет весьма полезна учителям школ, преподавателям техникумов и вузов, читающим лекции и ведущим практические занятия по дисциплинам Информатика, Программирование, Алгоритмизация и программирование, Теория и технологии программирования.





Никита Культин

Pascal Next. Руководство программиста





Pascal Next


Pascal Next – компилируемый, типизированный, алгоритмический, универсальный язык программирования и среда разработки, ориентированные на решение задачи обучения основам программирования.

В основе синтаксиса языка Pascal Next лежит синтаксис "классического" Pascal. В тоже время, синтаксис инструкций выбора и циклов заимствован из Basic, что позволило отказаться от "избыточных" инструкций begin.

Язык позволяет работать с целыми и вещественными числами, строками, одномерными и двумерными массивами, текстовыми файлами. В языке определены стандартные математические функции (Sqrt – квадратный корень, Sin – синус, Cos, – косинус Arctg -арктангенс, Trunc – округление с недостатком, Roung – округление с избытком, Rnd – случайное число), функции преобразования типов (IntToStr, StrToInt, FloatToStr, StrToFloat), функции манипулирования строками (Legth – длина строки, Pos – позиция подстроки в строке, Substr – подстрока, UpCase – преобразование к верхнему регистру, LowCase – преобразование к нижнему регистру) и датами (getDay, getMonth, getYear, getDayOfWeek, getTime); есть возможность инициализации массива в инструкции объявления;в текст программы можно включать как многострочные, так и однострочные комментарии.

Книга, которую вы держите в руках, представляет собой описание языка программирования Pascal Next с примерами, демонстрирующие использование инструкций ввода-вывода, инструкций выбора, использование циклов, работу с массивами, строками, файлами, встроенными и пользовательскими функциями.



WWW.pascal-next.ru

Среду разработки Pascal Next можно бесплатно загрузить с сайта www.pascal-next.ru (http://www.pascal-next.ru)

Также с сайта можно загрузить примеры кода и документацию.




Структура программы


Программа Pascal Next представляет собой совокупность процедур и функций.

Главная процедура, с инструкций которой начинается выполнение программы, обозначается идентификатором program. Все остальные процедуры обозначаются идентификатором procedure, функции – идентификатором function.

Простейшая программа представляет собой одну единственную процедуру program и в общем случае выглядит так:



programимя()

var

// здесь объявления переменных

begin

// здесь выполняемые инструкции

end.



Пример:

// пересчет веса из фунтов в килограммы

program p1()

var

fnt: float; // вес в фунтах

kg: float; // вес в килограммах

begin

write('Вес в фунтах >');

readln(fnt);

kg := fnt * 0.495; // 1 кг = 495 гр



writeln(fnt:6:2, ' фнт. = ', kg:6:3, 'кг');



writeln('Press ');

readln;

end.



Перед разделом var может быть раздел const (раздел именованных констант), в который программист может поместить объявления констант, используемых в программе.



// пересчет веса из фунтов в килограммы

program p1()

const

K = 0.495; // коэф. пересчета из фунтов в кг

var

fnt: float; // вес в фунтах

kg: float; // вес в килограммах

begin

write('Вес в фунтах >');

readln(fnt);

kg := fnt * K;

writeln(fnt:6:2, ' фнт. = ', kg:6:3, 'кг');



writeln('Press ');

readln;

end.




Типы данных


Pascal Next поддерживает целый, вещественный и строковый тип данных.

integer – целые числа в диапазоне -2 147 483 648 … 2 147 483 647

float – положительные и отрицательные вещественные числа в диапазоне от 1.5x10


до 3.4x10




string – строка символов длинной до 128 символов




Переменные


Все переменные программы должны быть объявлены в разделе var той процедуры или функции, в которой они используются.



Инструкция объявления числовой переменной целого (integer) или вещественного (float) типа в общем случае выглядит так:



имя: тип;



Где:

имя – имя переменной;

тип – тип данных.



Примеры:

sum: float;

k: integer;



Допускается одной инструкцией объявить несколько переменных одинакового типа, например:

a,b,c: float;



Инструкция объявления строковой переменной в общем виде выглядит так:



имя: string[длина];



Где:

длина – максимальное количество символов, которое может вместить переменная.

Максимальное допустимое значение параметра длина при объявлении строки – 128.



Пример:

name: string[25];



Допускается одной инструкцией объявить несколько переменных одинакового типа, например:

firstName, lastName: string[12];



При объявлении строковой переменной можно использовать целую именованную константу.

Например, если в разделе const объявлена целая именованная константа LN, то объявление переменных firstName и lastName может быть таким:

firstName, lastName: string[LN];






Имя переменной


В качестве имени переменной (а также имени массива, процедуры или функции программиста) можно использовать любую, начинающуюся с латинской буквы и состоящую из латинских букв и цифр последовательность символов. Помимо букв и цифр имя переменной может содержать символы “подчеркивание”.



Примеры:

amount: integer;

x1: float;

month_salary: float;

annual_income: float;

first_name: string[20];



Компилятор Pascal Next не различает прописные и строчные буквы, т.е. нечувствителен к регистру записи идентификаторов, в том числе ключевых слов языка программирования. Таким образом, например, идентификаторы first_name, FIRST_NAME и First_Name обозначают один и тот же объект (переменную), а инструкцию выбора действия можно записать if, If или IF.

В качестве имен переменных (и других объектов программы) нельзя использовать зарезервированные слова языка программирования, а также имена встроенных процедур и функций.




Константы


Числовые константы записываются обычным образом.

Примеры целых констант:

123

–45

0



Примеры вещественных констант:

5.0

27542.15

25.7

–34.05

0.0



Строковая константа представляет собой заключенную в одинарные кавычки последовательность любых символов.



Примеры строковых констант:

'Hello, World!'

'Bart Simpson'

'(C) Nikita Kultin, 2023'

' '

''

'100'

'99.5'






Именованные константы


Именованные константы должны быть объявлены в разделе const программы, процедуры или функции, в которой они используются.

Объявление именованной константы выглядит так:



Имя = Значение;



Пример:

const

Copyright ='(c) Nikita Kultin, 2021'; // строковая именованная

PI = 3.1415925; // вещественная константа

HB = 7; // целая именованная константа



После объявления именованная константа может использоваться в программе как обычная константа, в том числе в разделе объявления переменных.



Пример использования именованных констант при объявлении переменных:

const

HB = 7;

NL = 25;

var

matrix array[1..HB,1..HB] of float;

students array[1..HB] of string[NL];

name: string[NL];



Пример использования именованных констант в коде:

sq := PI*r*r; // PI – именованная константа



for i:=1 to HB do // HB – именованная константа

for j:=1 to HB do

matrix[i,j]:=0;

end;

end;






Логический тип


В Pascal Next нет логического (boolean) типа данных, однако, его легко можно смоделировать, определив в программе целые именованные константы TRUE (истина) и FALSE (ложь) со значениями 1 и 0 соответственно. После этого, вместо переменных логического типа можно использовать переменные целого типа, трактуя их как логические.



Пример

program p()

const

// "логические" константы

TRUE = 1;

FALSE = 0;



HB = 10;

var

a:array[1..HB] of integer; // массив чисел

r: integer; // число, которое надо найти в массиве

found: integer; // признак, что число есть в массиве (найдено)

i: integer;

begin

for i:= 1 to HB do

a[i] := Random(HB);

end;

r:= Random(HB);

writeln('Search: ',r);



found := FALSE; // пусть число не найдено

i:= 1;

repeat

if a[i] = r then

found := TRUE; // число найдено

else

i:=i+1;

end;

until( found = TRUE) OR (i > HB);



if found = TRUE then

writeln('Found!');

else

writeln('Not found!');

end;



write('Press ');

readln;

end.






Вывод в окно консоли


Вывод информации на экран (в окно консоли) выполняют инструкции write и writeln.

В общем виде инструкции записываются так:



write(список_вывода);

writeln(список_вывода);



Где:

список_вывода – разделенные запятыми имена переменных, строковые константы или выражения.



Примеры:

write(sum);

write('Press ');

writeln('x1=', x1, ' x2=', x2);

writeln(pound,' фунтов =', pound*0.453, ' кг.');






Форматированный вывод


В строке вывода после имени переменной или выражения через двоеточие можно задать формат вывода значения.

Для целых и строковых значений формат задает ширину поля вывода – количество позиций на экране, которое резервируется для вывода значения переменной.

В общем виде форматированный вывод целых и строковых значений задается так:



имя:n



Где:

имя – имя переменной , значение которой надо вывести на экран;

n – ширина поля вывода (целая константа).



Форматированный вывод вещественных значений в общем виде задается так:



имя:n:m



Где:

имя – имя переменной;

n – ширина поля вывода (целая константа);

m – количество цифр дробной части.



Примеры:

writeln('x1=', x1:9:3, 'x2=', x2:9:3); // x1 и x2 – вещественного типа

writeln(name:15, salary:12:3); // переменная name строковая, salary – вещественная

writeln(pound:5:2,' фунтов =', pound*0.453:6:3, ' кг.'); // выражение pound*0.453 вещественного типа






Ввод данных с клавиатуры


Ввод данных с клавиатуры обеспечивает инструкция readln, которая в общем виде записывается так:



readln(имя);



Где:

имя – имя переменной, значение которой надо получить от пользователя во время работы программы.



Примеры:

readln(name);

readln(salary);



ВНИМАНИЕ! При вводе вещественных значений в качестве десятичного разделителя следует использовать точку. Если при вводе вещественного значения вместо точки будет введена запятая, ошибка (исключение) не возникает, но дробная часть будет отброшена.






Инструкция присваивания


Инструкция присваивания выглядит так:



имя := выражение;



Где:

имя – имя переменной или элемента массива;

выражение – выражение, значение которого присваивается переменной или элементу массива.



Выражение состоит из операндов и операторов. Операнды это – объекты, над которыми выполняется действие, операторы – символы, обозначающие действия.

В качестве операнда выражения могут использоваться константы, переменные, элементы массивов, функции.



Примеры:

k := 0;

x:=x1;

x:=x+dx;

x:=x+0.05;

n := Round((x1-x2)/dx);

m := Random(6);






Арифметические операторы


Арифметические операторы:

+ – сложение

– - вычитание

* – умножение

/ – деление

DIV – целая часть частного

MOD – остаток от деления как целое



Оператор + применим к операндам строкового типа. Результат применения оператора "сложение" к операндам строкового типа – конкатенация (объединение) строк-операндов.



Примеры:

name := 'Bart' + ' ' + 'Simpson';

name := FirstName + ' ' + LastName;

В приведенных инструкциях предполагается, что переменные name, FirstName и LastName строкового типа.


Приоритет операторов

Значение выражения вычисляется слева направо, при этом следует учитывать, что операторы умножения и деления имеют более высокий приоритет, чем операторы сложения и вычитания.

Для задания нужной последовательности вычисления значения выражения следует использовать скобки.






Выбор действия (инструкция if)


Выбор действия в зависимости от выполнения некоторого условия реализуется при помощи инструкции if.

Инструкция выбора одного из двух возможных вариантов действия записывается так:



ifусловиеthen

// здесь инструкции, которые должны быть выполнены,

// если условие выполняется (истинно)

else

// здесь инструкции, которые должны быть выполнены,

// если условие НЕ выполняется (ложно)

end;



Пример:

if t = 1 then

r := r1+r2;

else

r := r1*r2/(r1+r2);

end;



Если при выполнении условия надо выполнить некоторое действие, а в случае, если условие не выполняется, это действие надо пропустить и перейти к следующей инструкции программы, то инструкция if записывается так:



ifусловиеthen

// здесь инструкции, которые будут выполнены,

// если условие выполняется (истинно)

end;



Пример:

if a[i] < a[i+1] then

b:=a[i];

a[i]:=a[i+1];

a[i+1]:=b;

end;






Множественный выбор


Множественный выбор (выбор одного действия из нескольких возможных) осуществляется при помощи вложенных инструкций if.

Приведенные ниже инструкции показывают, как можно реализовать выбор одного действия из четырех возможных вариантов.



ifусловие1then

// здесь инструкции, которые будут выполнены,

// если условие1 истинно

else

ifусловие2then

// здесь инструкции, которые будут выполнены,

// если уловие1 ложно, а условие2 истинно

else

ifусловие3then

// здесь инструкции, которые будут выполнены,

// если условия условие1 и условие2 ложны, а условие3 истинно

else

// здесь инструкции, которые будут выполнены,

// если ни одно из условий условие1, условие2 или условие3

// НЕ выполняется

end;

end;

end;



Пример:

if n = 1 then

material :='Алюминий';

density := 2.7;

else

if n = 2 then

material :='Медь';

density := 8.9;

else

if n = 3 then

material :='Сталь';

density := 7.856;

else

material :='Пластик';

density := 1.9;

end;

end;

end;






Условие


Условие это – выражение логического типа, которое может принимать одно из двух значений: Истина или Ложь.

Различают простое и сложное условия.


Простое условие

Простое условие в общем виде записывается так:



op1 оператор_сравнения op2



Где:

op1 и op2 – сравниваемые операнды, в качестве которых могут выступать константы, переменные, функции или выражения.



Операторы сравнения:

= равно

> больше

>= больше или равно

< меньше

<= меньше или равно

!= не равно



Примеры простых условий:

a[i+1] < a[i]

d != 0

pos(' ', st) = 1

name = 'simpson'



Сложное условие

Сложное условие в общем виде записывается так:



усл1 логический_оператор усл2



Где:

усл1 и усл2 – выражения логического типа, в качестве которых могут выступать простые или сложные условия.



Логические операторы:

AND – логическое И

OR – логическое ИЛИ

NOT – логическое НЕ



Примеры сложных условий:

x >= x1 AND x <= x2

NOT((x < x1) OR (x > x2))

sum >=1000 and sum <10000

name = 'Bart' OR name = 'Homer'






Цикл for


Инструкция цикла for в общем виде записывается так:



for сч := start to finish do

// инструкции, которые надо выполнить несколько раз

end;



Где:

сч – счетчик циклов (переменная целого типа);

start и finish – выражения целого типа (в простейшем случае – целые константы), определяющие, соответственно, начальное и конечное значение счетчика циклов.



Примеры:

for i:=1 to 10 do

writeln(i:2, ' Hello, World!');

end;



for i:=1 to n do

writeln(i:2, ' Hello, World!');

end;






Цикл While


Инструкция цикла While (цикл с предусловием) в общем виде записывается так:



while условие do

// здесь инструкции, которые будут выполняться до тех пор,

// пока условие истинно

end;



Где:

условие – простое или сложное условие выполнения инструкций, находящихся между словами do и end.



Пример:

i := 1;

while i <= 10 do

writeln(i:2, ' Hello, World!');





Конец ознакомительного фрагмента. Получить полную версию книги.


Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию (https://www.litres.ru/book/nikita-borisovich-kultin/pascal-next-rukovodstvo-programmista-69530128/) на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.



Если текст книги отсутствует, перейдите по ссылке

Возможные причины отсутствия книги:
1. Книга снята с продаж по просьбе правообладателя
2. Книга ещё не поступила в продажу и пока недоступна для чтения

Навигация